using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public enum TetrisType
{
    /// <summary>
    /// 四方形
    /// </summary>
    Cube = 0,

    /// <summary>
    /// 长条
    /// </summary>
    Long = 1,

    /// <summary>
    /// *
    /// ***
    /// </summary>
    LeftOne = 2,

    /// <summary>
    ///   *
    /// ***
    /// </summary>
    RightOne = 3,

    /// <summary>
    ///  *
    /// ***
    /// </summary>
    CenterOne = 4,
}


/// <summary>
/// 单个方块
/// </summary>
public class TetrisSimple 
{
    // 方块形状
    // 位置信息
    // 颜色

    /// <summary>
    /// 类型
    /// </summary>
    public TetrisType tType;

    /// <summary>
    /// 位置信息
    /// </summary>
    private int[,] posData;

    /// <summary>
    /// 修改方块位置
    /// </summary>
    /// <param name="callBack"></param>
    public void ChangePos(TetrisMove callBack)
    {
        // 不暴露方块的位置，但是别人可以访问自己的数据 -> 迭代器模式
        // 为什么不直接 get 呢？因为这里的目的本身就是要做运算才取数据，不做运算都不给get
        if (callBack != null)
        {
            callBack(this.posData);
        }
    }

    /// <summary>
    /// 设置位置
    /// </summary>
    /// <param name="pos"></param>
    public void SetPos(int[,] pos)
    {
        this.posData = pos;
    }

}
